import React from "react";

interface Props {}
interface State {}


class Test extends React.Component<Props,State> {

  //! 生命周期的第一阶段： 初始化 
  // 初始化state
  constructor(props: Props) {
    super(props);
  }

  // 在页面创建好dom元素之后 挂载进页面的时候调用
  componentDidMount(){

  }
  //! 第二阶段:更新
  //  在组件接收到一个新的props(更新后)时被调用
  componentWillReceiveProps(nextProps:Props){

  }
  // --> 应该使用这个 去获取更新后的props
  static getDerivedStateFromProps(nextProps:Props,nextState:State){ }
  // 组件准备更新时
  shouldComponentUpdate(nextProps:any,nextSate:any):boolean{
    return true
  }
  // 主要组件发生更新,ui重新渲染,就会发生该阶段
  componentDidUpdate(nextProps:Props,nextState:State){ }

  //! 第三阶段:销毁
  // 页面销毁的时候触发
  componentWillUnmount(){}
  
}

export default Test;
